package 哈希表;

import java.util.HashMap;
import java.util.Map;

/**
 * 力扣 242
 * @Author zxl
 * @Date 2022/1/17 19:12
 * @Desc 判断字符串s中的字符是否可以通过改变顺序的方式变成字符串t(如果字符串s与字符串t相同，那么就是可以)，字符串中只包含小写字母
 */
public class 有效的字母异位词 {

    public static void main(String[] args) {
        String s1="aee",t1="eae";
        String s2="asd",t2="asd";
        String s3="asd",t3="afd";
        System.out.println("result: " + StringEquals(s3,t3));
    }

    public static boolean StringEquals(String s,String t){
        char[] sArray = s.toCharArray();
        char[] tArray = t.toCharArray();
        Map<Character, Integer> charMap = new HashMap<>();
        for (char c : sArray){
            if (charMap.containsKey(c)){
                charMap.put(c,charMap.get(c) + 1);
            }else{
                charMap.put(c,1);
            }
        }
        for (char c : tArray){
            if (charMap.containsKey(c)){
                charMap.put(c,charMap.get(c) - 1);
            }else{
                return false;
            }
        }
        for (Integer value : charMap.values()){
            if (value != 0){
                return false;
            }
        }
        return true;
    }
}
